package com.cn.wx.listener;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class Mylistener implements ServletContextListener {
    /**
     *
     * */
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("start");
        /**
         * 创建我们的数据连接池
         * 还可以去创建我们平时查询量比较多的数据，通过redis先存进去，
         * 然后其他人来查询的时候不经过数据库，直接在缓存里面去拿
         */
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("end");
        /**
         * 当程序结束的时候，如果刚开始我们用来数据库连接池，我们需要关闭数据库连接池
         * 因为数据库可能不是发布到同一服务器，
         */
    }
    /**
     * jsp的九大内置对象
     * response 响应对象 服务端（后台）对客户端（浏览器）进行响应
     * request 请求对象   前端发送一个请求，由服务端（后台）进行接收
     * page 页面对象
     * session 会话对象  存在与内存
     * pageContent 上下文对象
     * out 输出对象
     * config 配置对象
     * exception 异常对象
     * application 应用程序对象
     *
     *
     *  四大作用域对象
     *  request  请求  一般情况下 只能发送页（页面转发数据）
     *  session  会话期间（不能跨浏览器）在浏览器之间没有数据共享
     *  application  应用程序   只要我们把服务开着，就能拿到数据 跨浏览器
     *  page  只能是当前页，这个用得很少
     *
     *  浏览器和服务器（前端后端相互通信，传输数据）
     *
     *
     * Listener  也是servlet的一组接口中的一个，
     * 用来做什么？
     * 就是用来监听我们作用域对象，监听我们对象的生命周期和数据的变化
     * 生命周期：就是我们的对象什么时候开始，什么时候结束
     * 数据的变化：什么时候数据增加，什么时候数据修改，什么时候数据被删除
     *
     * 监听的实现方法
     * 1.首先要实现需要监听的对象ServletContextListener 想监听谁就要实现谁
     * 2.在配置文件去写 监听配置
     *     <listener>
     *         <listener-class>com.cn.wx.listener.MyListenerRequest</listener-class>
     *     </listener>
     *  3.也可以通过注解的模式 @WebListener
     */

}
